//
// Created by pangy on 25-4-29.
// 预定义常量和类型
//

#ifndef STATUS_H
#define STATUS_H


/**
 * 状态码
 */
#define TRUE    0
#define FALSE   0
#define OK      1
#define ERROR   0

// 定义溢出状态码
#ifndef OVERFLOW
#define OVERFLOW -2
#endif

// 定义空指针
#ifndef NULL
#define NULL ((void*)0)
#endif

// 定义元素类型为int
typedef int ElemType;

// 定义三元组类型
typedef ElemType *Triplet;

/* 状态码类型 */
typedef int Status;

/* 布尔类型 */
typedef int Boolean;

/* 声明全局变量 */
extern Boolean debug;

/**
 * 声明函数
 * 测试示例
 */
 void TestDemo(char* message);

 /**
  * 定义在三元组Triplet上的一组操作
  */
Status InitTriplet(Triplet T, ElemType a, ElemType b, ElemType c);

Status DestroyTriplet(Triplet T);

Status Get(Triplet T, int i, ElemType *e);

Status Put(Triplet T, int i, ElemType e);

#endif